package com.cma.service;

import com.cma.model.db.Histctrack;
import com.cma.model.db.Histctrack_Tcname;
import com.cma.model.db.Tcname;
import com.cma.model.param.HistctrackParam;
import com.cma.model.param.Lonlat;
import com.cma.model.resultdb.DateTf;
import com.cma.model.resultdb.SimpleTf;

import java.util.List;
import java.util.Map;

/**
 * 台风中心路径
 * 数据库表【histctrack】对应的service接口
 *
 * @author bjs
 * @date 2017-01-03 18:59:18
 */
public interface HistctrackService {

    /**
     * 保存或更新对象
     *
     * @param histctrack
     */
    void save(Histctrack histctrack);


    /**
     * 通过id查找对象
     *
     * @param id
     * @return
     */
    Histctrack findById(Long id);


    List<Histctrack_Tcname> test1(int i);

    /**
     * 综合查询
     *
     * @param histctrackParam
     * @return
     */
    List<SimpleTf> queryByParams(HistctrackParam histctrackParam);

    /**
     * 根据参数据查询台风信息
     *
     * @param histctrackParam
     * @return
     */
    List<SimpleTf> queryTfByParams(HistctrackParam histctrackParam);

    Object findTfInfo(HistctrackParam histctrackParam);



    List<DateTf> findPathData(String xuhao);

    Map<String, String> getMaxFs(HistctrackParam histctrackParam);

    Map<String, String> getMaxStrength(HistctrackParam histctrackParam);

    List<SimpleTf> qeuryByTfbh(String tfbhs, Map<String, Tcname> tcnameIter);

    List<DateTf> findPathDatas(String oldbh);

    List<Lonlat> findDataByRect(Lonlat maxLonlat, Lonlat minLonlat);

    List<SimpleTf> queryMaxWind(List<SimpleTf> list);

    Map<String,String> getStrengthStat(String substring);
}
